Repository navigation
Conversation
Public backport automation loses its default event allowance on 2 December. A read-only metadata relay preserves fork and conflicted PR events while the shared backport workflow consumes a validated payload.
The new workflow_run caller must explicitly cap cache access for its reusable workflow. CI rejected the inherited cache mode because the callee could request writes beyond the low-trust trigger default.
Contributor
E2E Ginkgo Tests
|
Public PR automation must keep working without an exception for privileged PR triggers. The metadata relay still required that exception and CI jobs relied on repository settings to strip fork privileges. Use a no-op label signal and API-verified trusted push or workflow-run consumers. Restrict secret and write jobs to same-repository PRs, keep fork code jobs read-only, and test those trust boundaries.
The runner Helm now requires plugin verification, so the existing helm-unittest v0.4.4 install fails before any chart tests run. Keep chart verification on the same Helm 3 version already used by the e2e workflows.
Go 1.26.10 copies four upstream OpenAPI workspace files into vendor. Their omission makes the repository consistency check fail before lint can run, even though the module graph and checksums stay unchanged.
The shared resolver now binds signal runs to the original fork repository and avoids repeated push-range discovery when trusted jobs restore an already selected event. Both entry points need the same reviewed revision until the shared release is published.
The shared prerequisite completed its final review and test round. Keep this consumer on that exact revision until the resolver tag is published so rollout cannot pick up an earlier candidate.
Backport automation depends on a release candidate that is no longer the published integration point. The published tags allow the supported resolver and reusable workflow to receive coordinated updates.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What issue type does this pull request address? (keep at least one, remove the others)
/kind bugfix
What does this pull request do? Which issues does it resolve? (use
resolves #<issue_number>if possible)Remove privileged PR triggers from every workflow. Use an unprivileged, no-op
pull_requestlabel signal and trusted default-branch consumers that resolve merged PRs from GitHub's API. Merges usepush; labels added after merge useworkflow_run, avoiding duplicate close-event backports.Give code-running PR jobs read-only tokens and disable stored checkout credentials. Gate jobs that need secrets, OIDC or write access on the PR head repository matching this repository. Same-repository PRs retain their CI and automation. Pin Helm 3 for the existing chart test plugin and retain the four workspace metadata files produced by
go mod vendor, so the required checks can run on current tooling without relaxing them.Closes DEVOPS-1803
Please provide a short message that should be published in the vcluster release notes
Keep automatic backports running through an unprivileged PR signal and verified merged PR metadata.
What else do we need to know?
The shared resolver and reusable backport workflow are published from loft-sh/github-actions#349 as
resolve-pr-event/v1andbackport/v2. The reusable workflow usesresolve-pr-event/v1internally. That shared resolver verifies the run'shead_repository.full_nameagainst the API-fetched PR'shead.repo.full_name, as well as the workflow identity, branch, SHA, attempt, merge state and default-branch ancestry. No policy exception for privileged PR events is needed.The read-only token, API validation, default-branch checks and shared resolver replay tests cover the privilege boundary. The new local workflow contract tests guard the signal, published references, matrix handoff and fork job permissions. Existing shared backport actions own mutations and status comments; no new service or alert route is added.
Validation: five workflow contract tests pass; actionlint passes with a narrow ignore for the pre-existing
cache-modekey unsupported by local actionlint v1.7.12; offline zizmor reports zerodangerous-triggersfindings, with fewer existing permission/checkout findings. The retainedcache-mode: noneis valid GitHub workflow syntax. Helm tests pass all 238 tests in 21 suites../hack/test.shpassed the Go build, race tests and coverage checks. The full custom./tools/golangci-lint run --timeout 15m -- ./...passed with0 issuesafter rebuilding with the Go version from go.mod. A clean localgo mod tidy && go mod vendorreproduced the four workspace files reported by CI, with no change to go.mod or go.sum; those generated files are now committed.go list -mod=vendor ./...passes. The chart job now pins Helm v3.22.1 because the runner default requires plugin verification unsupported by the existing helm-unittest v0.4.4 plugin. Final CI for73279ec1db29db168fb4f984d116d4e67e894149: 19 successful checks and 2 expected skips; all workflow runs completed, including the code-triggered Ginkgo run and install/upgrade checks. Live post-merge backport acceptance remains pending rollout. The matching monorepo staging patch will be handed to the owner of vcluster-pro#2695.E2E Tests
Default Test Execution
The mandatory PR suite runs automatically. Only specify additional test suites below if needed.
Adding New Test Suites
When adding a new ginkgo test suite:
Additional test suites
Additional test suite(s) that will be executed before the mandatory PR suite: